﻿<?php
	//图片上传函数封装
	/**
	 * 翻页函数封装
	 * $parem link 数据库连接对象
	 * $parem table 表名
	 * $parem cur_page 当前页
	 * $parem per_page 每页显示的记录数
	 * $parem page_num 固定页码数
	 * @rerurn string 有返回值类型 为string
	 * @author hcs 180330 作者
	 */


	//多图片上传
	function uploads($file){
		//文件大小优化
		//$file即为$_FILES['file'](但只支持单图片上传);
		$filesize=2*1024*1024;//2MB  1024字节（bit）=1kb
		if($file['size']>$filesize){
			echo '<script>alert("您上传的文件超过允许大小");</script>';die;
		}

		//文件类型
		$filetype=array('jpg','jpeg','png','gif');

		//查找文件类型中/的位置
		$ipos= stripos($file['type'],'/');//结果为5 image/
		//开始截取文件类型字符
		$type= substr($file['type'],$ipos+1);

		//在数组中搜索是否有允许上传的文件类型
		if(!in_array($type,$filetype)){
			echo '<script>alert("不是允许上传的文件类型");</script>';die;
		}

		//优化:上传路径和文件名实现动态生成，防止文件被覆盖.
		//实现文件名动态生成
		$filename=date('YmdHis').mt_rand(100009, 999999);//以时间的形式再拼上随机数
		$filename.='.'.$type;//文件名再拼上文件类型

		//实现存放文件的路径文件夹动态生成
		//1、确认文件保存路径格式 uploads/2018-04/04/xxx.jpg
		//2、使用mkdir函数实现路径上的文件夹创建,默认只能创建路径上的一个文件夹
		//date()对时间戳格式的转换

		//$savePath='./uploads/'.date('Y-m').'/'.date('d').'/';
		$filePath='./uploads/'.date('Y-m').'/'.date('d').'/';

		//检测目录是否存在，不存在则创建，存在则忽略
		// if(!file_exists($savePath)){
		// 	mkdir($savePath,777,true);//创建文件路径  给文件授权(777是默认的最大授权) 允许一次性创建路径上的多个文件夹
		// }
		if(!file_exists($filePath)){
			mkdir($filePath,777,true);//创建文件路径  给文件授权(777是默认的最大授权) 允许一次性创建路径上的多个文件夹
		}

		//$savePath.=$filename;//保存路径+图片名称

		//$filePath=uploads/2018-04-14
		//$filename=文件名.jpg
		//$filePath.$filename=uploads/2018-04-14/文件名.jpg
		$savePath=$filePath.$filename;//拼接文件名

		/*
			参数1：path 提供原来图片上传的路径 那么原来的图片路径在$_FILES里面的tmp_name下标的临时路径
			参数2：ew_path 我们自定义的要求存储图片的路径
		 */
		//move_uploaded_file($_FILES['file']['tmp_name'], 'psb.jpg');die;
		//将临时路径的五年级保存到知道的文件夹中
		move_uploaded_file($file['tmp_name'], $savePath);

		//调用生成缩略图
		//上传成功即生成缩略图,保存缩略图，不保存原图
		return thumb($filePath,$filename);//将在thumb.php返回的缩略图路径再返回到add.php的savePath[]里面

		//return $savePath;

	}
?>